package com.ruantong.dingtalk.task;

import lombok.extern.slf4j.Slf4j;
import org.springframework.context.annotation.DependsOn;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

import javax.annotation.PostConstruct;

/**
 * @description:一些从钉钉定时同步数据的任务都在这里
 * @author: jh.chen
 * @time: 2020/11/16 22:46
 */
@Slf4j
@Component
public class SynchronizeDataScheduler {

    /**
     * 项目启动时需要初始化同步数据的操作可以在这里
     */
    @PostConstruct
    @DependsOn("dbOracleConfig")
    public void firstSyncData() {
        log.info("SynchronizeDataScheduler FirstSyncData!");
    }

    private void synchronizeDataFromDingFirst() {
        //初始化同步部门
        //初始化同步user
        //初始化同步考勤数据
    }

    public void synchronizeDataFromSoaFirst() {
        log.info("开始从SOA系统同步数据！请耐心等待");
    }

    /**
     * 每天1:30点定时同步
     */
    @Scheduled(cron = "0 30 1 * * ?")
//    @Scheduled(cron = "*/15 * * * * ?")
    public void timingSyncDing() {
        log.info("SynchronizeDataScheduler SyncData start!");
        //同步user
        //同步dept
        //同步考勤在同步人员之后进行
        //同步soa系统的数据
    }

}
